Server virtualization is an increasingly popular technology enabling the running of multiple virtual machines on a single physical machine. This may reduce the number of physical machines required for data centers, server farms, and other environments serving multiple users. Unfortunately, although the number of physical machines may be reduced resulting in some server consolidation, these virtual machines and virtual environments still require access to files which may not be shared and thus must be repetitively duplicated. Specifically, many virtualized machines or environments require exclusive access to boot files, operating system files, application files, license files or other files. A single physical machine, for example, may host ten virtual machines. These virtual machines may require their own copies or images of an operating system even though all ten virtual machines and the physical machine hosting them may be running identical operating systems. If an operating system image requires, for example, four gigabytes of storage, the machine will be required to store or have forty gigabytes of storage for operating system images for the virtual machines alone and another 4 gigabytes for the physical machine itself. This storage requirement is quickly compounded by multiplying the requirement by the number of physical machines in a datacenter hosting virtual machines or virtual environments. The storage requirement is particularly significant in light of the fact that many or perhaps all of these operating system images are identical, yet the requirement of exclusive access to each image by a virtual machine, physical machine or a virtual environment prevents sharing of an image.
In view of the foregoing, it may be understood that there are significant problems and shortcomings associated with current methods of storing data which is common to multiple environments or machines or platforms.